package co.edu.uniandes.truequeAndes.servlets2;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import co.edu.uniandes.truequeAndes.fachada.TruequeAndes;
import co.edu.uniandes.truequeAndes.fachada.TruequeAndesAdmin;
import co.edu.uniandes.truequeAndes.fachada2.TruequeAndes2;
import co.edu.uniandes.truequeAndes.vos.CategoriasValue;
import co.edu.uniandes.truequeAndes.vos.NumeroDeProductosPorCategoriaValue;
import co.edu.uniandes.truequeAndes.vos.ProductosConOfertasValue;
import co.edu.uniandes.truequeAndes.vos.ProductosValue;
import co.edu.uniandes.truequeAndes.vos2.PaisValue;

/**
 * Servlet implementation class ServletBuscarProductosPalabraClave
 */
public class ServletRegistrodeUsuarioResultado extends HttpServlet {
	private static final long serialVersionUID = 1L;
    
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletRegistrodeUsuarioResultado() {
        super();
        
    }
    
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try {
			this.procesarPedido(request, response);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try {
			this.procesarPedido(request, response);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * Procesa el pedido de igual para todos.
	 * @param request
	 * @param response
	 * @throws Exception 
	 */
	private void procesarPedido(HttpServletRequest request, HttpServletResponse response) throws Exception
	{
		this.header(request, response);
		this.contenidoArriba(request, response);
		this.contenido(request, response);
		this.contenidoAbajo(request, response);
		this.footer(request, response);
	}
	
	/**
	 * Header representa la Parte de Arriba del template HTML de los servlets
	 * @param request
	 * @param response
	 * @throws IOException
	 */
	private void header(HttpServletRequest request, HttpServletResponse response) throws IOException
	{
		PrintWriter respuesta = response.getWriter();
		respuesta.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
		respuesta.println("<!--");
		respuesta.println("Design by Free CSS Templates");
		respuesta.println("http://www.freecsstemplates.org");
		respuesta.println("Released for free under a Creative Commons Attribution 2.5 License");
		respuesta.println("");
		respuesta.println("Name       : Free Radicals");
		respuesta.println("Description: A two-column, fixed-width design with dark color scheme background.");
		respuesta.println("Version    : 1.0");
		respuesta.println("Released   : 20081230");
		respuesta.println("");
		respuesta.println("-->");
		respuesta.println("");
		respuesta.println("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
		respuesta.println("<head>");
		respuesta.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
		respuesta.println("<title>Free Radicals by FreeCSSTemplates.org</title>");
		respuesta.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" media=\"screen\" />");
		respuesta.println("</head>");
		respuesta.println("<body>");
		respuesta.println("");
		respuesta.println("<div id=\"wrapper\">");
		respuesta.println("");
		respuesta.println("<div id=\"header\">");
		respuesta.println("	<div id=\"logo\">");
		respuesta.println("		<h1><a href=\"#\">Trueque Andes - Nivel 1</a></h1>");
		respuesta.println("		<p>Design <a href=\"http://www.freecsstemplates.org/\">Universidad de los Andes</a></p>");
		respuesta.println("	</div>");
		respuesta.println("	<!-- end #logo -->");
		respuesta.println("	<div id=\"menu\">");
		respuesta.println("		<ul>");
		respuesta.println("			<li class=\"active\"><a href=\"#\">Home</a></li>");
		respuesta.println("			<li><a href=\"#\">Ofertas</a></li>");
		respuesta.println("			<li><a href=\"#\">Productos</a></li>");
		respuesta.println("			<li><a href=\"#\">Clientes</a></li>");
		respuesta.println("			<li><a href=\"#\">Administrador</a></li>");
		respuesta.println("		</ul>");
		respuesta.println("	</div>");
		respuesta.println("	<!-- end #menu -->");
		respuesta.println("</div>");
		respuesta.println("<!-- end #header -->");
		respuesta.println("<div id=\"page\">");

	}
	/**
	 * Representacion HTML del footer de la pagina servlet
	 * @param request
	 * @param response
	 * @throws IOException
	 */
	private void footer(HttpServletRequest request, HttpServletResponse response) throws IOException
	{
		PrintWriter respuesta = response.getWriter();
		respuesta.println("	<div id=\"sidebar\">");
		respuesta.println("		<div id=\"sidebar-bgtop\"></div>");
		respuesta.println("		<div id=\"sidebar-content\">");
		respuesta.println("			<div id=\"sidebar-bgbtm\">");
		respuesta.println("			<ul>");
		respuesta.println("				<li id=\"search\">");
		respuesta.println("					<h2>log In</h2>");
		respuesta.println("					<form method=\"get\" action=\"\">");
		respuesta.println("						<fieldset>");
		respuesta.println("						<p><input type=\"text\" id=\"login\" name=\"login\" value=\"Usuario\" />");
		respuesta.println(":");
		respuesta.println("<input type=\"text\" id=\"passw\" name=\"login\" value=\"Clave\" /><input type=\"submit\" id=\"x\" value=\"log In\" />");
		respuesta.println("						");
		respuesta.println("<p> <a href=\"#\">Nuevo Usuario</a></p>");
		respuesta.println("						</fieldset>");
		respuesta.println("					</form>");
		respuesta.println("				</li>");
		respuesta.println("				<li>");
		respuesta.println("					<h2>Menu</h2>");
		respuesta.println("					<ul>");
		respuesta.println("						<li><a href=\"#\">Número de Productos por Categoría</a></li>");
		respuesta.println("						<li><a href=\"#\">Listar Productos por Categoría</a></li>");
		respuesta.println("						<li><a href=\"#\">Buscar Productos por Palabra Clave</a></li>");
		respuesta.println("						<li>Cadena de Negocio mas larga</li>");
		respuesta.println("						<li><a href=\"#\">Mejor Negocio Registrado en el Sistema</a></li>");
		respuesta.println("						<li><a href=\"#\">Ciente con Mayor Número de Ofertas</a></li>");
		respuesta.println("						<li><a href=\"#\">Buscar Ofertas por fechas</a></li>");
		respuesta.println("                        <li><a href=\"#\">Dias mas Ofertados</a></li>");
		respuesta.println("					</ul>");
		respuesta.println("				</li>");
		respuesta.println("				<li> </li>");
		respuesta.println("			</ul>");
		respuesta.println("		</div>");
		respuesta.println("		</div>");
		respuesta.println("	</div>");
		respuesta.println("	<!-- end #sidebar -->");
		respuesta.println("	<div style=\"clear:both; margin:0;\"></div>");
		respuesta.println("</div>");
		respuesta.println("<!-- end #page -->");
		respuesta.println("");
		respuesta.println("</div>");
		respuesta.println("");
		respuesta.println("<div id=\"footer\">");
		respuesta.println("	<p>&copy; 2008. All Rights Reserved. Design by <a href=\"http://www.freecsstemplates.org/\">Free CSS Templates</a>.</p>");
		respuesta.println("</div>");
		respuesta.println("<!-- end #footer -->");
		respuesta.println("</body>");
		respuesta.println("</html>");

	}
	
	/**
	 * Contenido de los resultados para ordenar por palabra clave
	 * Donde se tiene la palabra clave que es la palabra a buscar
	 * orden es:
	 * 1 - Alfabeticamente
	 * 2 - Valor estimado
	 * 3 - num ofertas
	 * tipo orden:
	 * 1 - Ascendente
	 * 2 - Descendente
	 * @param request
	 * @param response
	 * @throws Exception
	 */
	/**
	 * @param request
	 * @param response
	 * @throws Exception
	 */
	private void contenido(HttpServletRequest request, HttpServletResponse response) throws Exception
	{
		PrintWriter respuesta = response.getWriter();
		String email= request.getParameter("email");
		String nombre= request.getParameter("nombre");
		String apellido= request.getParameter("apellido");
		String nick= request.getParameter("nickname");
		String pais= request.getParameter("paises");
		String login= request.getParameter("login2");
		String clave= request.getParameter("password");
		String fecha= request.getParameter("fechaNacimiento");
		
		TruequeAndes2 truequeAndes= TruequeAndes2.darInstancia();
		truequeAndes.registrarUsuario(email, nombre, apellido,nick, pais, login, clave, fecha);
		respuesta.println("Registro Exitoso"); //falta validar

	}
	/**
	 * Es la representacion de la parte de arriba del panel 
	 * template HTML donde se observan los datos resultado
	 * @param request
	 * @param response
	 * @throws Exception
	 */	
	private void contenidoArriba(HttpServletRequest request, HttpServletResponse response) throws Exception
	{

		PrintWriter respuesta = response.getWriter();
		respuesta.println("	<div id=\"content\">");
		respuesta.println("		<div style=\"margin-bottom: 10px;\"><img src=\"images/img11.gif\" alt=\"\" /></div>");
		respuesta.println("		<div class=\"post\">");
		respuesta.println("			<h1 class=\"title\">Bienvenidos al Trueque de los Andes</h1>");
		respuesta.println("			<div class=\"entry\">");
		respuesta.println("<p>");
	}
	/**
	 * Es la representacion de la parte de abajo del panel 
	 * template HTML donde se observan los datos resultado
	 * @param request
	 * @param response
	 * @throws Exception
	 */
	private void contenidoAbajo(HttpServletRequest request, HttpServletResponse response) throws Exception
	{

		/**-------------------------------------------------------------------*/
		PrintWriter respuesta = response.getWriter();
		respuesta.println("</p>");
		respuesta.println("			</div>");
		respuesta.println("			<div class=\"meta\">");
		respuesta.println("				<p class=\"links\">&nbsp;</p>");
		respuesta.println("			</div>");
		respuesta.println("		</div>");
		respuesta.println("	</div>");
		respuesta.println("	<!-- end #content -->");
	}

}
